package pe.gob.osce.sirenas.dao.convert;



import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import pe.gob.osce.sirenas.model.CapacitacionDTO;
import pe.gob.osce.sirenas.model.jpa.Auditoria;
import pe.gob.osce.sirenas.model.jpa.Capacitacion;
import pe.gob.osce.sirenas.model.jpa.rectificaciones.HistorialCapacitacion;


public class CapacitacionConvert {

	public CapacitacionConvert(){}
	
	public static Capacitacion createJPA(CapacitacionDTO capacitacionDTO,Auditoria auditoria)
	{
		Capacitacion objetoJPA=new Capacitacion();
		
		objetoJPA.setIdCapacitacion(capacitacionDTO.getIdCapacitacion());
		objetoJPA.setIdFicha(capacitacionDTO.getIdFicha());
		objetoJPA.setIndEspecialidad(capacitacionDTO.getIndEspecialidad());
		objetoJPA.setNomCapacitacion(capacitacionDTO.getNomCapacitacion());
		objetoJPA.setFecInicio(capacitacionDTO.getFecInicio());
		objetoJPA.setFecFin(capacitacionDTO.getFecFin());
		objetoJPA.setDuracion(capacitacionDTO.getDuracion());
		objetoJPA.setNomInstitucion(capacitacionDTO.getNomInstitucion());
		objetoJPA.setEstado(capacitacionDTO.getEstado());
		objetoJPA.setCodRegistro(capacitacionDTO.getCodRegistro());
		objetoJPA.setAuditoria(auditoria);
	
		
		return objetoJPA;
	}
	
	public static CapacitacionDTO createDTO(Capacitacion capacitacionJPA)
	{
		CapacitacionDTO objetoDTO=new CapacitacionDTO();
		
		objetoDTO.setIdCapacitacion(capacitacionJPA.getIdCapacitacion());
		objetoDTO.setIdFicha(capacitacionJPA.getIdFicha());
		objetoDTO.setIndEspecialidad(capacitacionJPA.getIndEspecialidad());
		objetoDTO.setNomCapacitacion(capacitacionJPA.getNomCapacitacion());
		objetoDTO.setFecInicio(capacitacionJPA.getFecInicio());
		objetoDTO.setFecFin(capacitacionJPA.getFecFin());
		objetoDTO.setDuracion(capacitacionJPA.getDuracion());
		objetoDTO.setNomInstitucion(capacitacionJPA.getNomInstitucion());
		objetoDTO.setCodTramite(capacitacionJPA.getCodTramite());
		objetoDTO.setCodRegistro(capacitacionJPA.getCodRegistro());
		objetoDTO.setEsEditable(false);
		objetoDTO.setEstado(capacitacionJPA.getEstado());
		
		return objetoDTO;
	}
	
	public static List<CapacitacionDTO> createListCapacitacionDTO(
			List<Capacitacion> listaCapacitacionJPA) {

		List<CapacitacionDTO> listaObjetoDTO = new ArrayList<CapacitacionDTO>();
		CapacitacionDTO objetoDTO;

		for (Capacitacion capacitacionJPA : listaCapacitacionJPA) {
			objetoDTO = new CapacitacionDTO();
			objetoDTO.setIdCapacitacion(capacitacionJPA.getIdCapacitacion());
			objetoDTO.setIdFicha(capacitacionJPA.getIdFicha());
			objetoDTO.setIndEspecialidad(capacitacionJPA.getIndEspecialidad());
			objetoDTO.setNomCapacitacion(capacitacionJPA.getNomCapacitacion());
			objetoDTO.setFecInicio(capacitacionJPA.getFecInicio());
			objetoDTO.setFecFin(capacitacionJPA.getFecFin());
			objetoDTO.setDuracion(capacitacionJPA.getDuracion());
			objetoDTO.setNomInstitucion(capacitacionJPA.getNomInstitucion());
			objetoDTO.setCodTramite(capacitacionJPA.getCodTramite());
			objetoDTO.setCodRegistro(capacitacionJPA.getCodRegistro());
			objetoDTO.setEsEditable(false);
			objetoDTO.setEstado(capacitacionJPA.getEstado());
			listaObjetoDTO.add(objetoDTO);
		}

		return listaObjetoDTO;
	}
		
		public static List<Capacitacion> createListCapacitacionJPA(List<CapacitacionDTO> listaCapacitacionDTO,Auditoria auditoria){
			
			List<Capacitacion> listaObjetoJPA=new ArrayList<Capacitacion>();
			Capacitacion objetoJPA;

			for (CapacitacionDTO capacitacionDTO: listaCapacitacionDTO) {
				objetoJPA= new Capacitacion();
				objetoJPA.setIdCapacitacion(capacitacionDTO.getIdCapacitacion());
				objetoJPA.setIdFicha(capacitacionDTO.getIdFicha());
				objetoJPA.setIndEspecialidad(capacitacionDTO.getIndEspecialidad());
				objetoJPA.setNomCapacitacion(capacitacionDTO.getNomCapacitacion());
				objetoJPA.setFecInicio(capacitacionDTO.getFecInicio());
				objetoJPA.setFecFin(capacitacionDTO.getFecFin());
				objetoJPA.setDuracion(capacitacionDTO.getDuracion());
				objetoJPA.setNomInstitucion(capacitacionDTO.getNomInstitucion());
				objetoJPA.setEstado(capacitacionDTO.getEstado());
				objetoJPA.setCodTramite(capacitacionDTO.getCodTramite());
				objetoJPA.setCodRegistro(capacitacionDTO.getCodRegistro());
				objetoJPA.setAuditoria(auditoria);
				listaObjetoJPA.add(objetoJPA);
			}
			
			return listaObjetoJPA;
		}
		
		public static List<HistorialCapacitacion> createListHistorialCapacitacionJPA(List<Capacitacion> listaCapacitacion,Auditoria auditoria){
			
			List<HistorialCapacitacion> listaObjetoHistrorialJPA=new ArrayList<HistorialCapacitacion>();
			HistorialCapacitacion objetoHistorialJPA;

			for (Capacitacion capacitacionJPA: listaCapacitacion) {
				objetoHistorialJPA= new HistorialCapacitacion();
				objetoHistorialJPA.setFecHistorial(new Date());
				objetoHistorialJPA.setIdCapacitacion(capacitacionJPA.getIdCapacitacion());
				objetoHistorialJPA.setIdFicha(capacitacionJPA.getIdFicha());
				objetoHistorialJPA.setIndEspecialidad(capacitacionJPA.getIndEspecialidad());
				objetoHistorialJPA.setNomCapacitacion(capacitacionJPA.getNomCapacitacion());
				objetoHistorialJPA.setFecInicio(capacitacionJPA.getFecInicio());
				objetoHistorialJPA.setFecFin(capacitacionJPA.getFecFin());
				objetoHistorialJPA.setDuracion(capacitacionJPA.getDuracion());
				objetoHistorialJPA.setNomInstitucion(capacitacionJPA.getNomInstitucion());
				objetoHistorialJPA.setCodTramite(capacitacionJPA.getCodTramite());
				objetoHistorialJPA.setCodRegistro(capacitacionJPA.getCodRegistro());
				objetoHistorialJPA.setEstado(capacitacionJPA.getEstado());
				objetoHistorialJPA.setAuditoria(auditoria);
				listaObjetoHistrorialJPA.add(objetoHistorialJPA);
			}
			
			return listaObjetoHistrorialJPA;
		}
		
	public static List<CapacitacionDTO> createListHistorialCapacitacionDTO(List<HistorialCapacitacion> listaHistorialCapacitacionJPA){
			
			List<CapacitacionDTO> listaObjetoDTO=new ArrayList<CapacitacionDTO>();
			CapacitacionDTO objetoDTO;

			for (HistorialCapacitacion historialCapacitacionJPA: listaHistorialCapacitacionJPA) {
				objetoDTO= new CapacitacionDTO();
				objetoDTO.setIdHistorial(historialCapacitacionJPA.getIdHistorial());
				objetoDTO.setFecHistorial(historialCapacitacionJPA.getFecHistorial());
				objetoDTO.setIdCapacitacion(historialCapacitacionJPA.getIdCapacitacion());
				objetoDTO.setIdCapacitacion(historialCapacitacionJPA.getIdCapacitacion());
				objetoDTO.setIdFicha(historialCapacitacionJPA.getIdFicha());
				objetoDTO.setIndEspecialidad(historialCapacitacionJPA.getIndEspecialidad());
				objetoDTO.setNomCapacitacion(historialCapacitacionJPA.getNomCapacitacion());
				objetoDTO.setFecInicio(historialCapacitacionJPA.getFecInicio());
				objetoDTO.setFecFin(historialCapacitacionJPA.getFecFin());
				objetoDTO.setDuracion(historialCapacitacionJPA.getDuracion());
				objetoDTO.setNomInstitucion(historialCapacitacionJPA.getNomInstitucion());
				objetoDTO.setCodTramite(historialCapacitacionJPA.getCodTramite());
				objetoDTO.setCodRegistro(historialCapacitacionJPA.getCodRegistro());
				objetoDTO.setEsEditable(false);
				objetoDTO.setEstado(historialCapacitacionJPA.getEstado());
				listaObjetoDTO.add(objetoDTO);
			}
			
			return listaObjetoDTO;
		}
}
